export default {
  // 命名空间, vuex分模块,
  // 将来this.$store.dispatch('模块名/方法名')
  // 将来 this.$store.commit('模块名/方法名')
  namespaced: true,

  // 提供状态
  state: {
    cartItems: [],
  },

  // 存放操作数据的方法
  mutations: {
    addToCart(state, payload) {
      // 加入购物车时, 需要查看是否已经有该商品
      //如果有该商品, 需要将商品数据累加
      // 如果没有该商品, 才是额外push新增
      const existedItem = state.cartItems.find(
        (item) => item.goods_id === payload.goods_id
      )

      if (existedItem) {
        //如果有该商品, 直接更新数量
        existedItem.goods_count++
      } else {
        // 如果没有直接push 到state中去
        state.cartItems.push(payload)
      }
    },
  },

  //
  actions: {},

  // 基于state的计算属性
  getters: {},
}
